<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<meta name="generator" content="ApiGen 2.4.0">
	<meta name="robots" content="noindex">

	<title>File Http/Response.php | RedMVC Framework</title>

	<script type="text/javascript" src="resources/combined.js?1841058525"></script>
	<script type="text/javascript" src="elementlist.js?356506387"></script>
	<script type="text/javascript">
		var ApiGen = ApiGen || {};
		ApiGen.options = {"elementDetailsCollapsed":true,"elementsOrder":"natural"};
	</script>
	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3295955786">

</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>

		<div id="groups">

			<h3>Namespaces</h3>
			<ul>
				<li><a href="namespace-PHP.html">PHP</a>
						</li>
				<li class="active"><a href="namespace-RedMVC.html">RedMVC</a>
						<span></span>
						<ul>
				<li><a href="namespace-RedMVC.Auth.html">Auth</a>
						<span></span>
						<ul>
				<li><a href="namespace-RedMVC.Auth.Adapter.html">Adapter</a>
						</li>
				<li><a href="namespace-RedMVC.Auth.Storage.html">Storage</a>
						</li>
							</ul></li>
				<li><a href="namespace-RedMVC.CodeGenerator.html">CodeGenerator</a>
						</li>
				<li><a href="namespace-RedMVC.Controller.html">Controller</a>
						</li>
				<li><a href="namespace-RedMVC.DataTable.html">DataTable</a>
						</li>
				<li><a href="namespace-RedMVC.Db.html">Db</a>
						</li>
				<li><a href="namespace-RedMVC.Drawing.html">Drawing</a>
						<span></span>
						<ul>
				<li><a href="namespace-RedMVC.Drawing.Color.html">Color</a>
						</li>
							</ul></li>
				<li><a href="namespace-RedMVC.Event.html">Event</a>
						</li>
				<li><a href="namespace-RedMVC.Feed.html">Feed</a>
						</li>
				<li><a href="namespace-RedMVC.Form.html">Form</a>
						<span></span>
						<ul>
				<li><a href="namespace-RedMVC.Form.Element.html">Element</a>
						</li>
				<li><a href="namespace-RedMVC.Form.Filter.html">Filter</a>
						</li>
				<li><a href="namespace-RedMVC.Form.Validator.html">Validator</a>
						</li>
							</ul></li>
				<li class="active"><a href="namespace-RedMVC.Http.html">Http</a>
						</li>
				<li><a href="namespace-RedMVC.Mail.html">Mail</a>
						</li>
				<li><a href="namespace-RedMVC.Model.html">Model</a>
						</li>
				<li><a href="namespace-RedMVC.Router.html">Router</a>
						</li>
							</ul></li>
			</ul>
		</div>

		<hr>

		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li><a href="class-RedMVC.Http.Request.html">Request</a></li>
				<li class="active"><a href="class-RedMVC.Http.Response.html">Response</a></li>
			</ul>





		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="">
		<input type="hidden" name="ie" value="UTF-8">
		<input type="text" name="q" class="text">
		<input type="submit" value="Search">
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
				<a href="namespace-RedMVC.Http.html" title="Summary of RedMVC\Http"><span>Namespace</span></a>
			</li>
			<li>
				<a href="class-RedMVC.Http.Response.html" title="Summary of RedMVC\Http\Response"><span>Class</span></a>
			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
		</ul>
		<ul>
		</ul>
	</div>

<pre><code><a href="#1" id="1" class="l">  1: </a><span class="xlang">&lt;?php</span>
<a href="#2" id="2" class="l">  2: </a>
<a href="#3" id="3" class="l">  3: </a><span class="php-keyword1">namespace</span> RedMVC\Http;
<a href="#4" id="4" class="l">  4: </a><span class="php-keyword1">use</span> RedMVC;
<a href="#5" id="5" class="l">  5: </a>
<a href="#6" id="6" class="l">  6: </a><span class="php-comment">/**
</span><a href="#7" id="7" class="l">  7: </a><span class="php-comment"> * Response class
</span><a href="#8" id="8" class="l">  8: </a><span class="php-comment"> *
</span><a href="#9" id="9" class="l">  9: </a><span class="php-comment"> * @category    RedMVC
</span><a href="#10" id="10" class="l"> 10: </a><span class="php-comment"> * @author      Jan Fischer, bitWorking &lt;info@bitworking.de&gt;
</span><a href="#11" id="11" class="l"> 11: </a><span class="php-comment"> */</span>
<a href="#12" id="12" class="l"> 12: </a><span class="php-keyword1">class</span> Response{
<a href="#13" id="13" class="l"> 13: </a>    
<a href="#14" id="14" class="l"> 14: </a>    <span class="php-keyword1">protected</span> <span class="php-keyword1">static</span> <span class="php-var">$_statusCodes</span> = <span class="php-keyword1">array</span>(      
<a href="#15" id="15" class="l"> 15: </a>        <span class="php-comment">// 1xx Informational</span>
<a href="#16" id="16" class="l"> 16: </a>        <span class="php-num">100</span> =&gt; <span class="php-quote">'Continue'</span>,
<a href="#17" id="17" class="l"> 17: </a>        <span class="php-num">101</span> =&gt; <span class="php-quote">'Switching Protocols'</span>,
<a href="#18" id="18" class="l"> 18: </a>        <span class="php-num">102</span> =&gt; <span class="php-quote">'Processing'</span>,
<a href="#19" id="19" class="l"> 19: </a>        
<a href="#20" id="20" class="l"> 20: </a>        <span class="php-comment">// 2xx Success</span>
<a href="#21" id="21" class="l"> 21: </a>        <span class="php-num">200</span> =&gt; <span class="php-quote">'OK'</span>,
<a href="#22" id="22" class="l"> 22: </a>        <span class="php-num">201</span> =&gt; <span class="php-quote">'Created'</span>,
<a href="#23" id="23" class="l"> 23: </a>        <span class="php-num">202</span> =&gt; <span class="php-quote">'Accepted'</span>,
<a href="#24" id="24" class="l"> 24: </a>        <span class="php-num">203</span> =&gt; <span class="php-quote">'Non-Authoritative Information'</span>,
<a href="#25" id="25" class="l"> 25: </a>        <span class="php-num">204</span> =&gt; <span class="php-quote">'No Content'</span>,
<a href="#26" id="26" class="l"> 26: </a>        <span class="php-num">205</span> =&gt; <span class="php-quote">'Reset Content'</span>,
<a href="#27" id="27" class="l"> 27: </a>        <span class="php-num">206</span> =&gt; <span class="php-quote">'Partial Content'</span>,
<a href="#28" id="28" class="l"> 28: </a>        <span class="php-num">207</span> =&gt; <span class="php-quote">'Multi-Status'</span>,
<a href="#29" id="29" class="l"> 29: </a>        <span class="php-num">208</span> =&gt; <span class="php-quote">'Already Reported'</span>,
<a href="#30" id="30" class="l"> 30: </a>        <span class="php-num">226</span> =&gt; <span class="php-quote">'IM Used'</span>,
<a href="#31" id="31" class="l"> 31: </a>        
<a href="#32" id="32" class="l"> 32: </a>        <span class="php-comment">// 3xx Redirection</span>
<a href="#33" id="33" class="l"> 33: </a>        <span class="php-num">300</span> =&gt; <span class="php-quote">'Multiple Choices'</span>,
<a href="#34" id="34" class="l"> 34: </a>        <span class="php-num">301</span> =&gt; <span class="php-quote">'Moved Permanently'</span>,
<a href="#35" id="35" class="l"> 35: </a>        <span class="php-num">302</span> =&gt; <span class="php-quote">'Found'</span>,
<a href="#36" id="36" class="l"> 36: </a>        <span class="php-num">303</span> =&gt; <span class="php-quote">'See Other'</span>,
<a href="#37" id="37" class="l"> 37: </a>        <span class="php-num">304</span> =&gt; <span class="php-quote">'Not Modified'</span>,
<a href="#38" id="38" class="l"> 38: </a>        <span class="php-num">305</span> =&gt; <span class="php-quote">'Use Proxy'</span>,
<a href="#39" id="39" class="l"> 39: </a>        <span class="php-num">306</span> =&gt; <span class="php-quote">'Switch Proxy'</span>,
<a href="#40" id="40" class="l"> 40: </a>        <span class="php-num">307</span> =&gt; <span class="php-quote">'Temporary Redirect'</span>,
<a href="#41" id="41" class="l"> 41: </a>        <span class="php-num">308</span> =&gt; <span class="php-quote">'Permanent Redirect'</span>,
<a href="#42" id="42" class="l"> 42: </a>        
<a href="#43" id="43" class="l"> 43: </a>        <span class="php-comment">// 4xx Client Error</span>
<a href="#44" id="44" class="l"> 44: </a>        <span class="php-num">400</span> =&gt; <span class="php-quote">'Bad Request'</span>,
<a href="#45" id="45" class="l"> 45: </a>        <span class="php-num">401</span> =&gt; <span class="php-quote">'Unauthorized'</span>,
<a href="#46" id="46" class="l"> 46: </a>        <span class="php-num">402</span> =&gt; <span class="php-quote">'Payment Required'</span>,
<a href="#47" id="47" class="l"> 47: </a>        <span class="php-num">403</span> =&gt; <span class="php-quote">'Forbidden'</span>,
<a href="#48" id="48" class="l"> 48: </a>        <span class="php-num">404</span> =&gt; <span class="php-quote">'Not Found'</span>,
<a href="#49" id="49" class="l"> 49: </a>        <span class="php-num">405</span> =&gt; <span class="php-quote">'Method Not Allowed'</span>,
<a href="#50" id="50" class="l"> 50: </a>        <span class="php-num">406</span> =&gt; <span class="php-quote">'Not Acceptable'</span>,
<a href="#51" id="51" class="l"> 51: </a>        <span class="php-num">407</span> =&gt; <span class="php-quote">'Proxy Authentication Required'</span>,
<a href="#52" id="52" class="l"> 52: </a>        <span class="php-num">408</span> =&gt; <span class="php-quote">'Request Timeout'</span>,
<a href="#53" id="53" class="l"> 53: </a>        <span class="php-num">409</span> =&gt; <span class="php-quote">'Conflict'</span>,
<a href="#54" id="54" class="l"> 54: </a>        <span class="php-num">410</span> =&gt; <span class="php-quote">'Gone'</span>,
<a href="#55" id="55" class="l"> 55: </a>        <span class="php-num">411</span> =&gt; <span class="php-quote">'Length Required'</span>,
<a href="#56" id="56" class="l"> 56: </a>        <span class="php-num">412</span> =&gt; <span class="php-quote">'Precondition Failed'</span>,
<a href="#57" id="57" class="l"> 57: </a>        <span class="php-num">413</span> =&gt; <span class="php-quote">'Request Entity Too Large'</span>,
<a href="#58" id="58" class="l"> 58: </a>        <span class="php-num">414</span> =&gt; <span class="php-quote">'Request-URI Too Long'</span>,
<a href="#59" id="59" class="l"> 59: </a>        <span class="php-num">415</span> =&gt; <span class="php-quote">'Unsupported Media Type'</span>,
<a href="#60" id="60" class="l"> 60: </a>        <span class="php-num">416</span> =&gt; <span class="php-quote">'Requested Range Not Satisfiable'</span>,
<a href="#61" id="61" class="l"> 61: </a>        <span class="php-num">417</span> =&gt; <span class="php-quote">'Expectation Failed'</span>,
<a href="#62" id="62" class="l"> 62: </a>        <span class="php-num">418</span> =&gt; <span class="php-quote">'I\'m a teapot'</span>,
<a href="#63" id="63" class="l"> 63: </a>        <span class="php-num">420</span> =&gt; <span class="php-quote">'Enhance Your Calm'</span>,
<a href="#64" id="64" class="l"> 64: </a>        <span class="php-num">422</span> =&gt; <span class="php-quote">'Unprocessable Entity'</span>,
<a href="#65" id="65" class="l"> 65: </a>        <span class="php-num">423</span> =&gt; <span class="php-quote">'Locked'</span>,
<a href="#66" id="66" class="l"> 66: </a>        <span class="php-num">424</span> =&gt; <span class="php-quote">'Failed Dependency'</span>,
<a href="#67" id="67" class="l"> 67: </a>        <span class="php-num">425</span> =&gt; <span class="php-quote">'Unordered Collection'</span>,
<a href="#68" id="68" class="l"> 68: </a>        <span class="php-num">426</span> =&gt; <span class="php-quote">'Upgrade Required'</span>,
<a href="#69" id="69" class="l"> 69: </a>        <span class="php-num">428</span> =&gt; <span class="php-quote">'Precondition Required'</span>,
<a href="#70" id="70" class="l"> 70: </a>        <span class="php-num">429</span> =&gt; <span class="php-quote">'Too Many Requests'</span>,
<a href="#71" id="71" class="l"> 71: </a>        <span class="php-num">431</span> =&gt; <span class="php-quote">'Request Header Fields Too Large'</span>,
<a href="#72" id="72" class="l"> 72: </a>        <span class="php-num">444</span> =&gt; <span class="php-quote">'No Response'</span>,
<a href="#73" id="73" class="l"> 73: </a>        <span class="php-num">449</span> =&gt; <span class="php-quote">'Retry With'</span>,
<a href="#74" id="74" class="l"> 74: </a>        <span class="php-num">450</span> =&gt; <span class="php-quote">'Blocked by Windows Parental Controls'</span>,
<a href="#75" id="75" class="l"> 75: </a>        <span class="php-num">499</span> =&gt; <span class="php-quote">'Client Closed Request'</span>,
<a href="#76" id="76" class="l"> 76: </a>        
<a href="#77" id="77" class="l"> 77: </a>        <span class="php-comment">// 5xx Server Error</span>
<a href="#78" id="78" class="l"> 78: </a>        <span class="php-num">500</span> =&gt; <span class="php-quote">'Internal Server Error'</span>,
<a href="#79" id="79" class="l"> 79: </a>        <span class="php-num">501</span> =&gt; <span class="php-quote">'Not Implemented'</span>,
<a href="#80" id="80" class="l"> 80: </a>        <span class="php-num">502</span> =&gt; <span class="php-quote">'Bad Gateway'</span>,
<a href="#81" id="81" class="l"> 81: </a>        <span class="php-num">503</span> =&gt; <span class="php-quote">'Service Unavailable'</span>,
<a href="#82" id="82" class="l"> 82: </a>        <span class="php-num">504</span> =&gt; <span class="php-quote">'Gateway Timeout'</span>,
<a href="#83" id="83" class="l"> 83: </a>        <span class="php-num">505</span> =&gt; <span class="php-quote">'HTTP Version Not Supported'</span>,
<a href="#84" id="84" class="l"> 84: </a>        <span class="php-num">506</span> =&gt; <span class="php-quote">'Variant Also Negotiates'</span>,
<a href="#85" id="85" class="l"> 85: </a>        <span class="php-num">507</span> =&gt; <span class="php-quote">'Insufficient Storage'</span>,
<a href="#86" id="86" class="l"> 86: </a>        <span class="php-num">508</span> =&gt; <span class="php-quote">'Loop Detected'</span>,
<a href="#87" id="87" class="l"> 87: </a>        <span class="php-num">509</span> =&gt; <span class="php-quote">'Bandwidth Limit Exceeded'</span>,
<a href="#88" id="88" class="l"> 88: </a>        <span class="php-num">510</span> =&gt; <span class="php-quote">'Not Extended'</span>,
<a href="#89" id="89" class="l"> 89: </a>        <span class="php-num">511</span> =&gt; <span class="php-quote">'Network Authentication Required'</span>,
<a href="#90" id="90" class="l"> 90: </a>        <span class="php-num">598</span> =&gt; <span class="php-quote">'Network read timeout error'</span>,
<a href="#91" id="91" class="l"> 91: </a>        <span class="php-num">599</span> =&gt; <span class="php-quote">'Network connect timeout error'</span>,
<a href="#92" id="92" class="l"> 92: </a>    );
<a href="#93" id="93" class="l"> 93: </a>    
<a href="#94" id="94" class="l"> 94: </a>    <span class="php-keyword1">protected</span> <span class="php-var">$_status</span>  = <span class="php-quote">'200 OK'</span>;
<a href="#95" id="95" class="l"> 95: </a>    <span class="php-keyword1">protected</span> <span class="php-var">$_headers</span> = <span class="php-keyword1">Array</span>();
<a href="#96" id="96" class="l"> 96: </a>    <span class="php-keyword1">protected</span> <span class="php-var">$_body</span>    = <span class="php-keyword1">null</span>;    
<a href="#97" id="97" class="l"> 97: </a>    
<a href="#98" id="98" class="l"> 98: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> setStatusCode(<span class="php-var">$statusCode</span>){
<a href="#99" id="99" class="l"> 99: </a>        <span class="php-keyword1">if</span>(<span class="php-keyword1">isset</span>(self::<span class="php-var">$_statusCodes</span>[<span class="php-var">$statusCode</span>])){
<a href="#100" id="100" class="l">100: </a>            <span class="php-var">$this</span>-&gt;_status = <span class="php-var">$statusCode</span>.<span class="php-quote">' '</span>.self::<span class="php-var">$_statusCodes</span>[<span class="php-var">$statusCode</span>];
<a href="#101" id="101" class="l">101: </a>        }
<a href="#102" id="102" class="l">102: </a>    }
<a href="#103" id="103" class="l">103: </a>    
<a href="#104" id="104" class="l">104: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> addHeader(<span class="php-var">$name</span>, <span class="php-var">$value</span>){
<a href="#105" id="105" class="l">105: </a>        <span class="php-var">$this</span>-&gt;_headers[<span class="php-var">$name</span>] = <span class="php-var">$value</span>;
<a href="#106" id="106" class="l">106: </a>    }
<a href="#107" id="107" class="l">107: </a>    
<a href="#108" id="108" class="l">108: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> setBody(<span class="php-var">$body</span>){
<a href="#109" id="109" class="l">109: </a>        <span class="php-var">$this</span>-&gt;_body = <span class="php-var">$body</span>;
<a href="#110" id="110" class="l">110: </a>    }
<a href="#111" id="111" class="l">111: </a>
<a href="#112" id="112" class="l">112: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getBody(){
<a href="#113" id="113" class="l">113: </a>        <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;_body;
<a href="#114" id="114" class="l">114: </a>    }
<a href="#115" id="115" class="l">115: </a>    
<a href="#116" id="116" class="l">116: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> write(<span class="php-var">$data</span>){
<a href="#117" id="117" class="l">117: </a>        <span class="php-var">$this</span>-&gt;_body .= <span class="php-var">$data</span>;
<a href="#118" id="118" class="l">118: </a>    }
<a href="#119" id="119" class="l">119: </a>    
<a href="#120" id="120" class="l">120: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <span class="php-keyword2">flush</span>(){
<a href="#121" id="121" class="l">121: </a>        <span class="php-keyword2">header</span>(<span class="php-quote">&quot;HTTP/1.0 </span><span class="php-var">{$this-&gt;_status}</span><span class="php-quote">&quot;</span>);
<a href="#122" id="122" class="l">122: </a>        <span class="php-keyword1">foreach</span>(<span class="php-var">$this</span>-&gt;_headers <span class="php-keyword1">as</span> <span class="php-var">$name</span> =&gt; <span class="php-var">$value</span>){
<a href="#123" id="123" class="l">123: </a>            <span class="php-keyword2">header</span>(<span class="php-quote">&quot;</span><span class="php-var">{$name}</span><span class="php-quote">: </span><span class="php-var">{$value}</span><span class="php-quote">&quot;</span>);
<a href="#124" id="124" class="l">124: </a>        }
<a href="#125" id="125" class="l">125: </a>        <span class="php-keyword1">echo</span> <span class="php-var">$this</span>-&gt;_body;
<a href="#126" id="126" class="l">126: </a>        <span class="php-var">$this</span>-&gt;_headers = <span class="php-keyword1">Array</span>();
<a href="#127" id="127" class="l">127: </a>        <span class="php-var">$this</span>-&gt;_body = <span class="php-keyword1">null</span>;
<a href="#128" id="128" class="l">128: </a>    }
<a href="#129" id="129" class="l">129: </a>    
<a href="#130" id="130" class="l">130: </a>}</code></pre>

	<div id="footer">
		RedMVC Framework API documentation generated by <a href="http://apigen.org">ApiGen 2.4.0</a>
	</div>
</div>
</div>
</body>
</html>
